package com.maruping.disk.file.service;

import com.maruping.disk.file.entity.SearchFileEntity;
import com.maruping.disk.mybatis.entity.PtFileEntity;
import com.maruping.disk.mybatis.flexigrid.PagingEntity;
import com.maruping.disk.mybatis.flexigrid.TblResponseEntity;
import com.maruping.disk.mybatis.ztree.ZtreeEntity;

import java.util.List;

public interface FileService {
    /**
     * 保存文件信息
     * @param ptFileEntityList
     */
    void saveFileInfo(List<PtFileEntity> ptFileEntityList);

    /**
     * 分页查询文件列表
     * @param entity
     * @param paging
     * @return
     */
    TblResponseEntity<PtFileEntity> queryFileInfoListByPage(SearchFileEntity entity, PagingEntity paging);

    PtFileEntity queryFileInfoById(String fileUuid);

    List<PtFileEntity> queryFileListAll();

    String generateTemporaryShareUrl(String obsKey, int expireSeconds);

    // 新增ACL相关方法
    List<ZtreeEntity> queryFileAcl(String fileUuid);
    void setFileAcl(String fileUuid, String aclArray);


    List<ZtreeEntity> queryAclZtree();
    PtFileEntity queryParentFileById(String fileUuid);
}
